#include"processBar.h"


// 进度条第一版
//int main()
//{
//    //Processbar();
//    Processbar(50000);
//
//    return 0;
//}


// 进度条第二版
// 进度条是如何被调用的
// int main()
// {
//     int total = 1000;   //1000MB
//     int curr = 0;       //0MB
// 
//     while(curr <= total)
//     {
//         Processbar(curr*100/total);
//         curr += 10;
//         usleep(50000);
//     }
//     printf("\n");
// }


// 进度条第三版
// 回调显示
typedef void(*callback_t)(int); //函数指针类型

void downLoad(callback_t cb)
{
    int total = 1000;   //1000MB
    int curr = 0;       //0MB

    while(curr <= total)
    {
        //进行某种下载任务
        usleep(50000);               //模拟下载所花费的时间
        int rate = curr*100/total;  //更新进度
        
        cb(rate);   //通过回调，显示进度

        curr += 10; //循环下载了一部分
    }
    printf("\n");
}

int main()
{
    printf("下载任务：1\n");
    downLoad(Processbar);
    Init();
    
    printf("下载任务：2\n");
    downLoad(Processbar);
    Init();
    
    printf("下载任务：3\n");
    downLoad(Processbar);
    Init();
    
    printf("下载任务：4\n");
    downLoad(Processbar);
    Init();
   
    return 0;
}






// 计时器
//int main()
//{
//    int cnt = 100;
//    while(cnt>=0)
//    {
//        printf("%-3d\r",cnt);
//        fflush(stdout);
//        cnt--;
//        sleep(1);
//    }
//    printf("\n");        
//
//    //printf("Hello Linux");
//    //sleep(2);
//    return 0;
//}


















